@echo off
REM 生产环境一键部署脚本 (Windows版本)
REM 注意: 此脚本主要用于参考，实际部署建议在Linux服务器上执行

echo ==========================================
echo 开始生产环境部署...
echo ==========================================
echo.

REM 检查Python环境
python --version >nul 2>&1
if errorlevel 1 (
    echo 错误: 未找到Python，请先安装Python3
    exit /b 1
)

REM 项目路径
set PROJECT_DIR=%~dp0..
set BACKEND_DIR=%PROJECT_DIR%\backend
set FRONTEND_DIR=%PROJECT_DIR%\frontend

REM 1. 后端部署
echo 部署后端...
cd /d %BACKEND_DIR%

REM 创建虚拟环境（如果不存在）
if not exist "venv" (
    echo 创建Python虚拟环境...
    python -m venv venv
)

REM 激活虚拟环境
call venv\Scripts\activate.bat

REM 安装/更新依赖
echo 安装Python依赖...
pip install --upgrade pip
pip install -r requirements.txt
pip install gunicorn python-dotenv

REM 检查.env文件
if not exist ".env" (
    echo 警告: .env文件不存在，请先创建并配置环境变量
    echo 参考: env.example.txt
)

REM 数据库迁移
echo 运行数据库迁移...
python manage.py migrate --noinput

REM 收集静态文件
echo 收集静态文件...
python manage.py collectstatic --noinput

REM 2. 前端部署
echo.
echo 部署前端...
cd /d %FRONTEND_DIR%

REM 安装依赖
if not exist "node_modules" (
    echo 安装Node.js依赖...
    call npm install
)

REM 构建生产版本
echo 构建前端...
call npm run build

echo.
echo ==========================================
echo 部署完成！
echo ==========================================
echo.
echo 注意: Windows环境下，请使用以下方式启动服务：
echo   1. 后端: python manage.py runserver
echo   2. 前端: npm run serve
echo.
echo 生产环境部署建议使用Linux服务器，参考：
echo   docs/guides/完整部署指南.md
echo.

pause

